\documentclass[11pt,titlepage]{article}
\usepackage{html}
%\usepackage{times} % For PDF version of the manual.  It makes it much smaller.

\newcommand{\ex}{\textbf{Excalibur}}
\newcommand{\oz}{O\kern-.03em z\kern-.15em\TeX}
\newcommand{\AmS}{\latex{{\protect\the\textfont2
        A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}\html{AMS}}
\newcommand{\textures}{\emph{Textures}}
\newcommand{\SLiTeX}{\latex{\textsc{Sli\TeX}}\html{SliTeX}}
\begin{document}

\title{Excalibur 2.5.2}
\author{Rob Gottshall \and Rick Zaccone}
\date{August 8, 1998}
\pagenumbering{roman}
\tableofcontents
\newpage
\pagenumbering{arabic}
\maketitle
\sloppy

\section{Introduction}

\ex{} is a Macintosh spelling checker for plain text documents.  It
will spell check documents created by any text editor such as
\texttt{BBEdit}, \texttt{Alpha}, \texttt{Emacs} or \texttt{MPW}.  It
will also spell check the clipboard, making it a useful spelling
checker for mail programs such as \texttt{Eudora} and news readers
such as \texttt{NewsWatcher}.

\ex{} is also a very good \LaTeX{} spelling checker.  \LaTeX{} is a
collection of typesetting macros.  If you are a \LaTeX{} user, you
should turn on the option that makes \ex{} aware of \LaTeX.  See
\htmlref{\textbf{\LaTeX{} Options}}{sec:latex-options}
\begin{latexonly}
  (section~\ref{sec:latex-options} on
  page~\pageref{sec:latex-options})
\end{latexonly}
for more information.

If you don't know what \LaTeX{} is and you would like more
information, there are some very good resources available on the
Internet.  George Gr\"atzer has a good book called \emph{Math into
  \LaTeX}.  You can download part~1 of this book from his
\htmladdnormallink{web page.}
{http://server.maths.umanitoba.ca/homepages/gratzer.html/LaTeXBooks.html}
\begin{latexonly}
\begin{verbatim}
<http://server.maths.umanitoba.ca/homepages/
gratzer.html/LaTeXBooks.html>
\end{verbatim}
\end{latexonly}
Tom Scavo also has some good \htmladdnormallink{introductory
  material.} {http://web.syr.edu/~trscavo/latex.html}
\begin{latexonly}
\begin{verbatim}
<http://web.syr.edu/~trscavo/latex.html>
\end{verbatim}
\end{latexonly}

\ex{} is a stand-alone spelling checker that you can use with many
other applications.  If you want to use it for spell checking the
clipboard, it's probably best to turn on the \textbf{Open the
  Clipboard} option or the \textbf{Open the Clipboard and Go} option.
See \htmlref{\textbf{Start-up Actions}}{sec:start-up-actions}
\begin{latexonly}
  (section~\ref{sec:start-up-actions} on
  page~\pageref{sec:start-up-actions})
\end{latexonly}
for more information.

\ex{} supports Word Services which streamlines its operation with
MT-NewsWatcher, Eudora Pro, Communicate, Nisus Writer, and
ClarisWorks.

\section{Excalibur's \LaTeX{} Philosophy}

One approach to \LaTeX{} spell checking is to put all the commands
into the dictionary. This yields limited success because it does not
specify what should be done with the arguments of the commands. For
example, the \verb+\label+ command has an argument that should always
be ignored. On the other hand, the \verb+\section+ command has an
argument that should always be spell checked. To complicate things
more, there are commands such as \verb+\addtocontents+ that have one
argument that should be ignored, and another that should be spell
checked.

\ex{} does \emph{not} put \LaTeX{} commands into its dictionary.
Instead, it knows how to process each command intelligently. It knows
which arguments to ignore and which it should spell check. As a
result, \ex{} is a \LaTeX{} spelling checker that does a very good
job.

\section{Installing Excalibur}

We have packaged \ex{} so that it is ready to go.  \ex{} will know
about any dictionaries that it finds in its folder.  If you would like
to keep your dictionaries on a server, put aliases to them in the
\ex{} folder.  Then, \ex{} will be able to insert them into its
\textbf{Dictionary} menu when it starts up.

If you use dictionaries other than the Standard Dictionary, adjust
\ex's memory partition.  System 8 is a bit more picky about having the
memory partition set properly than System 7.  See
\htmlref{\textbf{Large Documents and Dictionaries}}{sec:large-docs}
\begin{latexonly}
  (section~\ref{sec:large-docs} on page~\pageref{sec:large-docs})
\end{latexonly}
for more information.

\section{Uninstalling Excalibur}

To uninstall \ex, just throw the \ex{} folder in the trash.  You
should also remove the file \textbf{Excalibur Preferences} in the
Preferences folder.  There are no other files to remove.

\section{Excalibur Features}

\begin{itemize}

\item \ex{} recognizes \LaTeX, \AmS-\LaTeX, and \texttt{epic}
  commands. It also recognizes a fair number of plain \TeX{} commands.

\item You can teach \ex{} about new commands and environments that you
  define.

\item \ex{} knows about accented characters and ligatures. This should
  help non English speaking users. They can add words with accents and
  ligatures to their dictionaries.

\item \ex{} knows about discretionary hyphens.

\item \ex{} will optionally ignore text in the \verb+\tt+ font. This
  is very useful for people (like us) who are in computer science and
  often sprinkle their documents with file names in the typewriter
  font.

\item \ex{} ignores everything that appears in the following
  environments:

  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>alltt        </TT></TD> <TD><TT>equation    </TT></TD></TR>
      <TR><TD><TT>cprog        </TT></TD> <TD><TT>math        </TT></TD></TR>
      <TR><TD><TT>displaymath  </TT></TD> <TD><TT>subeqnarray </TT></TD></TR>
      <TR><TD><TT>eqnarray     </TT></TD> <TD><TT>verbatim    </TT></TD></TR>
      <TR><TD><TT>eqnarray*    </TT></TD> <TD><TT>verbatim*   </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

  \begin{latexonly}
    \begin{tt}
      \begin{tabular}{ll}
        alltt       & equation    \\
        cprog       & math        \\
        displaymath & subeqnarray \\
        eqnarray    & verbatim    \\
        eqnarray*   & verbatim*
      \end{tabular}
    \end{tt}
  \end{latexonly}

  \ex{} ignores the following \AmS-\LaTeX{} environments:

  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>align     </TT></TD> <TD><TT>gather*    </TT></TD></TR>
      <TR><TD><TT>align*    </TT></TD> <TD><TT>multiline  </TT></TD></TR>
      <TR><TD><TT>alignat   </TT></TD> <TD><TT>multiline* </TT></TD></TR>
      <TR><TD><TT>alignat*  </TT></TD> <TD><TT>xalignat   </TT></TD></TR>
      <TR><TD><TT>comment   </TT></TD> <TD><TT>xalignat*  </TT></TD></TR>
      <TR><TD><TT>equation* </TT></TD> <TD><TT>xxalignat  </TT></TD></TR>
      <TR><TD><TT>gather    </TT></TD> <TD><TT>xxalignat* </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

  \begin{latexonly}
    \begin{tt}
      \begin{tabular}{ll}
        align     & gather*    \\
        align*    & multline   \\
        alignat   & multline*  \\
        alignat*  & xalignat   \\
        comment   & xalignat*  \\
        equation* & xxalignat  \\
        gather    & xxalignat*
      \end{tabular}
    \end{tt}
  \end{latexonly}

  It also ignores everything that appears within
  \begin{itemize}
  \item \verb+\[+\ldots\verb+\]+,
    \verb+\(+\ldots\verb+\)+,\verb+$+\ldots\verb+$+,
    \verb+$$+\ldots\verb+$$+ and
    \verb+\begintt+\ldots\verb+\endtt+.
  \end{itemize}

\item \ex{} ignores the arguments of \verb+\verb+ and \verb+\verb*+
  commands.

\item \ex{} is 32-bit clean and System~7 friendly.

\item \ex{} will warn you if it thinks it found a \LaTeX{} syntax
  error in a file. This usually means that you have unmatched braces,
  unmatched \verb+\begin+ \ldots \verb+\end+ pairs, or an unmatched
  math mode delimiter.

\item \ex{} will spell check the contents of the clipboard.  You can
  copy text to the clipboard, have \ex{} check it, and then write the
  results back onto the clipboard.  With this feature you can use
  \ex{} as a spelling checker for programs such as Eudora.

\end{itemize}

\section{Program Components}
\subsection{The File Menu}

Most of the items in the \textbf{File} menu are standard for a
Macintosh application. This menu contains items to open a file, close
a file, save the changes to a file, reverting a file, and quitting the
program.  If you have started to spell check a file and you suddenly
remember that you forgot to activate a dictionary, you can use
\textbf{Revert} to put the spell checking operation in its initial
state.  Then, activate your dictionary and hit \textbf{Start}.

The \textbf{Open Clipboard} item will let you open the clipboard for
spell checking.  When spell checking the clipboard, the \textbf{Save}
item becomes \textbf{Save Clipboard} so you can save your changes back
to the clipboard.  This is useful if you want to spell check just a
small portion of a document.  You can copy the text to the clipboard,
check its spelling, save the result back to the clipboard, and then
paste the result back into your document.

\subsection{The Dictionary Menu}

The \textbf{Dictionary} menu lets you create new dictionaries and add
words to existing dictionaries. It also lets you select the
dictionaries that you would like to use for spell checking.

\subsubsection{Create Dictionary}

\ex{} comes with a Standard Dictionary of about 47,000 English words.
If you would like to create your own dictionary so you can add words
that aren't in the Standard Dictionary, use the \textbf{Create
  Dictionary} item in the \textbf{Dictionary} menu. You can save the
dictionary any place you like, but \ex{} looks first in its own folder
for dictionaries. If it doesn't find any dictionaries there, you will
have to tell it where to find them. It's probably easiest to save your
dictionaries in the \ex{} folder.  \ex{} is capable of keeping track
of up to 7 dictionaries at a time.

\subsubsection{Open Dictionary}

You can use \textbf{Open Dictionary} to add another dictionary to the
\textbf{Dictionary} menu.  Since no dictionary may appear in the
\textbf{Dictionary} menu more than once, the open file dialog will not
display any file name that already appears in the \textbf{Dictionary}
menu.

\subsubsection{Save Dictionaries}

The \textbf{Save Dictionaries} menu item will save any dictionaries
that have changed since you started \ex. If you forget to invoke the
\textbf{Save Dictionaries} command, \ex{} will warn you when you try
to quit.

\subsubsection{Add Word\latex{\ldots}\html{...}}

You can use this to add a word to a dictionary when you are not spell
checking a document. You must have a user defined
\htmlref{\emph{active dictionary}}{sec:act-dict} for this item to be
enabled.
\begin{latexonly}
  See \textbf{Active Dictionaries} (section~\ref{sec:act-dict}
  page~\pageref{sec:act-dict}) for more information on active
  dictionaries.
\end{latexonly}

This dialog will let you add a word if it is not already present in
another dictionary.  If the word is already present, \ex{} quietly
does nothing when you hit the \textbf{Add} button.  If you would like
to add a word to a selected dictionary even if it is already present
in another dictionary, hold down the option key when you click on the
\textbf{Add} button.

\subsubsection{Conversions}

Using the \textbf{Conversions} menu you can convert a dictionary to a
text file so you can edit it. This is useful if you want to remove or
add words. You can also convert a text file to a dictionary. The words
do not have to be sorted.

When you convert a dictionary to a text file, \ex{} gives you the
option of setting the file creator for the resulting text file.  You
can choose Alpha, BBEdit, Emacs \ex, MPW, MS~Word, \oz{} and
\textures.

You can't do conversions when the \textbf{Dictionary} menu lists 7
dictionaries. In this case you should quit \ex. If you normally use 7
dictionaries, move one of them into a different folder and relaunch
\ex.

When you convert a text file to a dictionary, \ex{} gives you the
option of saving the file as \emph{read only}.  If you choose this
option, you will not be able to add words to the dictionary from
within \ex.  It's a good idea to keep the Standard Dictionary read
only.

\ex{} will recognize accents and ligatures if the \textbf{Do \LaTeX{}
  Command Parsing} option is checked.  If you don't have any accents
or ligatures, you can uncheck this option and the conversion will be a
little faster.

\ex{} also looks at the \textbf{Word Boundaries} options when doing a
text to dictionary conversion.  So, if you have \textbf{Regard 's as
  end of word} selected, \ex{} will not add any words ending in 's to
your dictionary.

If you want to add a few words to a larger dictionary, first convert
the larger dictionary to a text file.  Then, copy the words you want
to add onto the end of the file.  Finally, convert the file back into
a dictionary.  We expect that this will be the most common use of
conversions, so we have tuned the text to dictionary conversion so
that it performs best under these circumstances.  If you have a
completely unsorted list of words that you would like to convert to a
dictionary, the conversion may be lengthy.  Sorting the words first
will speed things up greatly.  Convert your word list to lower case
before doing the sort.

If you are using System 7 or higher \ex{} will use temporary memory
(if necessary) when doing conversions.  If your machine has a lot of
free memory, it will grab as much as it needs to complete the
conversion.  It releases this memory when it is finished.

If you are using System 6, you may have to increase \ex's memory
partition to convert a large file.
See \htmlref{\textbf{Large Documents and Dictionaries}}{sec:large-docs}
\begin{latexonly}
  (section~\ref{sec:large-docs} on page~\pageref{sec:large-docs})
\end{latexonly}
for information on how to do this.

You can use \ex{}'s conversions to produce a sorted list of words that
appear in a document.  First, perform a text to dictionary conversion
using a text document as input.  Then, convert your new dictionary to
a text document.  The result will be a sorted list of all the words
that appear in your document.  Since the words in the original file
are unsorted, this operation can be slow if the original document is
large.

\paragraph{Technical Note:}

Text to dictionary conversions can be very slow if the text file is
not sorted.  \ex{} is in the sort phase when the progress indicator is
between 50\% and 75\%.  If you sorted your text file before initiating
a text to dictionary conversion, and \ex{} is still very slow when the
progress indicator is in this area, you may need to change the way you
do the sort.

First, be sure that all the words are in lower case letters before
doing the sort.  This will have an effect on the sort.

Second, not all machines treat the characters in Apple's extended
character set in the same way.  If you sort your file on a Unix
workstation, check to see where the words that begin with an accented
character appear.  If these words appear at the end of the file after
a sort, then everything is fine.  If they all appear at the top of the
file, then there's a problem.  Your machine is treating these
characters as signed characters.  Since they have their high order bit
set, they have the smallest keys.  This is not the same ordering that
the Macintosh uses.  See if your sort routine has a switch that lets
you treat all characters as unsigned.  If you're desperate, send some
mail to \texttt{zaccone@bucknell.edu}.  I've put together a quick and
dirty sort routine that works properly on a Unix workstation.  You
will need an ANSI C compiler to compile it.  (I use \texttt{gcc}.)  A
sorted file should take at most several minutes to convert to a
dictionary.  An unsorted file may take much longer.

\subsubsection{The Dictionary List}

The bottom portion of the Dictionary menu contains a list of your
dictionaries. \ex{} uses the checked dictionaries in its spell
checking operation. You can check and uncheck dictionaries before you
begin the spell check operation. Once you have begun, you can't change
them. You \emph{can} change dictionaries \emph{between} spell checking
operations.  Any dictionary that is checked is an
\htmlref{\emph{active dictionary}}{sec:act-dict}.
\begin{latexonly}
  See section~\ref{sec:act-dict} on page~\pageref{sec:act-dict} for
  more information on active dictionaries.
\end{latexonly}

If a dictionary name appears in plain text, it is modifiable.  That
is, you can add words to it.  If the name appears in italics, the
dictionary is read only.

\subsection{Definitions Menu}
\label{sec:definitions}

You can teach \ex{} about new \LaTeX{} commands and environments that
you have defined with the \textbf{Definitions} menu.
If you define a new command with either \verb+\newcommand+ or
\verb+\renewcommand+, you can tell \ex{} about it by selecting the
\textbf{Edit Commands\ldots} item.  Enter the name of your command
in the text box, select the number of arguments with the pop-up menu,
and hit the \textbf{Add} button.  You can add any number of commands
to the list.  Each command in the list is followed by the number of
arguments that \ex{} should ignore.  Thus, if you define a command
that has three arguments and you would like \ex{} to spell check the
third argument, tell \ex{} to ignore two arguments.

You can tell \ex{} about new environments in a similar fashion.  Use
the \textbf{Edit Environments\ldots} menu item.  It performs exactly
the same as the \textbf{Edit Commands\ldots} item.

You cannot specify the number of arguments for an environment since
\ex{} doesn't need to know this number.  If you add an environment
called \texttt{foo}, \ex{} will ignore everything between
\verb+\begin{foo}+ and \verb+\end{foo}+.  Thus, the number of
arguments is irrelevant.

Use the \textbf{Save Definitions\ldots} command to save the commands
and environments that you have defined to a file.  You can read a file
that contains command and environment definitions with the
\textbf{Read Definitions\ldots} command.

The \textbf{Clear Definitions} command will cause \ex{} to forget
about the currently defined definitions.

\ex{} will check the list of user defined commands and environments before
checking to see if a command or environment is part of standard
\LaTeX.  Thus, if you change the definition of a standard \LaTeX
command with
\begin{verbatim}
\renewcommand
\end{verbatim}
\ex{} will not get confused.

\subsection{Active Dictionaries}
\label{sec:act-dict}

Throughout this manual, we will refer to any dictionary that is
checked in the \textbf{Dictionary} menu as an \emph{active
  dictionary}.  You can add or remove a check mark by selecting that
menu item. \ex{} uses the active dictionaries when spell checking.

\textbf{Note:} In order for the \textbf{Add\ldots} button to be
operational, you must have at least one modifiable dictionary that is
active.  A dictionary is not modifiable if its name appears in italics
in the \textbf{Dictionary} menu.  A dictionary is active if it is
checked.

\subsection{The Document Window}

The top portion of \ex's display is the document window. \ex{} will
show you the context for your misspelled words here.

\subsection{The Control Dialog}

\begin{rawhtml}
<P>
<IMG SRC=main-screen.gif>
<P>
\end{rawhtml}

Most of your interaction with \ex{} will be through the control
dialog. It contains buttons for starting the spell check operation and
for making corrections to words. You must open a document using
\textbf{Open\ldots} in the \textbf{File} menu for the control dialog
to appear.

\subsection{The Help Menu}

You can use the Help menu to get access to the complete \ex{} manual
and the \ex{} home page.  \ex{} will use the browser specified by
Internet Config to open these URLs.  If you do not have Internet
Config installed on your machine, these menu items will not be
available.

\htmladdnormallink{Internet Config}
{http://www.quinn.echidna.id.au/Quinn/Config/} is free and \emph{very}
useful.  If you don't have it installed, you should consider it.  It
is available from most Macintosh archive sites and from the author:
\begin{verbatim}
http://www.quinn.echidna.id.au/Quinn/Config/
\end{verbatim}

\section{Program Operation}
\subsection{Getting Started}

To begin spell checking, hit the \textbf{Start} button.

\ex{} will display incorrect words in the \textbf{Unknown Word} field.
This means that it wasn't able to find the word in any \htmlref{active
  dictionary}{sec:act-dict}.
\begin{latexonly}
  See \textbf{Active Dictionaries} (section~\ref{sec:act-dict} on
  page~\pageref{sec:act-dict}) for more information on active
  dictionaries.
\end{latexonly}

\subsection{How To Make a Spelling Correction}

You enter spelling corrections through the \textbf{Change To:} box.
You can get text into this box in several ways.

\begin{enumerate}
\item Simply enter the correct word.

\item Hit the \textbf{Change} button. This will copy the incorrect
  word to the \textbf{Change To:}\ box. You can then edit the word.

\item Double click on the misspelled word in the document.  This will
  copy the incorrect word to the \textbf{Change To:}\ box.  You can
  then edit the word.

\item Ask \ex{} to suggest a correction by hitting the
  \textbf{Suggest} button. If you see the correct spelling in the list
  of words that \ex{} presents, double click on it. This will copy the
  correct word into the \textbf{Change To:}\ box.
\end{enumerate}

To complete the change operation, hit the \textbf{Change} button.

\textbf{Helpful hint:} If the \textbf{Change To:}\ box is empty, then
\ex{} uses the flagged word to create its suggestion list. If the
\textbf{Change To:}\ box has text in it, \ex{} uses that text as a
basis for its suggestion list. So, if \ex{} doesn't give you a
suggestion that you like, hit the \textbf{Change} button to copy the
flagged word into the \textbf{Change To:}\ box. Then change its
spelling slightly and hit \textbf{Suggest} again.

\subsection{Ignoring a Word}

If you would like to ignore what \ex{} thinks is a misspelled word,
hit the \textbf{Ignore} button. \ex{} will ignore any subsequent
occurrence of this word also. You can change this behavior in the
\textbf{Options} menu.

\subsection{Adding Words to a Dictionary}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=add-word.gif>
<P>
\end{rawhtml}

\ex{} flags any word that is not in an active dictionary. To add the
flagged word to an active dictionary, hit the \textbf{Add\ldots}
button.  You can add the word to any active dictionary that is
modifiable.  The Standard Dictionary is read only.

Use the checkbox to always select the same dictionary for the word you
are spell checking. When you do this, \ex{} will stop presenting the
\textbf{Add} dialog every time you add a word. If you have checked
this box, you can force \ex{} to bring up the dialog by holding the
shift key down while you click on \textbf{Add}. This allows you to
deselect the checkbox or select a new set of dictionaries to
automatically select from then on.

After adding a word to a dictionary, you will still have to take an
action on the current word. It will often be the case that you would
like to simply ignore the word now that you have entered it into a
dictionary. You can use the \textbf{Options} menu to make this the
default action.

\textbf{Note:} In order for the \textbf{Add\ldots} button to be
operational, you must have at least one modifiable dictionary that is
active.  A dictionary is not modifiable if its name appears in italics
in the \textbf{Dictionary} menu.  A dictionary is active if it is
checked.

\subsection{Quitting Excalibur}

To quit \ex, select \textbf{Quit} from the \textbf{File} menu. If you
forgot to save your corrections, \ex{} will warn you. \ex{} will also
warn you if you forgot to save any changes to your dictionaries or if
you have not saved any changes to your definitions.

\subsection{Spell Checking Options}
\label{sec:spell-check-options}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=spell-check-options.gif>
<P>
\end{rawhtml}

\textbf{Ignore All CAPS} instructs \ex{} to ignore words that do not
contain any lower case letters.

If you hit the \textbf{Ignore} button and the \textbf{Ignore
  Throughout} option is checked, \ex{} will ignore any subsequent
occurrences of the word.

If you change a word and the \textbf{Replace Throughout} option is
checked, \ex{} will replace all subsequent occurrences of the word
also.  Note that you have to finish spell checking the document for
this to happen.  If you stop spell checking a document before reaching
the end, \ex{} may not replace all occurrences of the word even though
you have checked this option.

If you select the \textbf{Auto Suggest} option, \ex{} will
automatically make suggestions when it shows you a misspelled word.

\subsection{Dialog Behavior Options}

\begin{rawhtml}
<P>
<IMG SRC=dialog-options.gif>
<P>
\end{rawhtml}

If you attempt to replace a misspelled word with a word that is not in
any active dictionary, you may have \ex{} take one of three actions.

\begin{enumerate}
\item Quietly let you replace the word.

\item Beep, then let you replace the word.

\item Put up a dialog that warns you that the word is not in any
  active dictionary, then let you replace the word. This is the
  default.
\end{enumerate}

These last two actions are useful because they give you the
opportunity to enter the replacement word into a dictionary before
continuing.

\subsubsection{Press Ignore Button Automatically \ldots}

If you have just added a word to the dictionary, you will often want
to press \textbf{Ignore} to indicate that you are finished with the
word.  This option causes this to happen automatically. You will
immediately advance to the next misspelled word when this option is
checked. If you find that you often want to enter several words at
once to the dictionary (for example, the same word with several
different endings), then you may wish to uncheck this option.

\subsubsection{Press Change Button Automatically \ldots}

If you have just added a replacement word to the dictionary, you will
often want to press \textbf{Change} to make the change and advance you
to the next word. This option causes this to happen automatically. If
you find that you often want to enter several words at once to the
dictionary (for example, the same word with several different
endings), then you may wish to uncheck this option.

\subsubsection{Save Dictionaries without prompting}

If you have made changes to user defined dictionaries and you quit
\ex, it will automatically save your dictionaries for you if this
option is set. If this option is not set, \ex{} will warn you before
quitting.

\subsection{Word Boundary Options}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=word-boundaries.gif>
<P>
\end{rawhtml}

The \textbf{Use German babel conventions} option tells \ex{} that you
are using \texttt{"} when typing an umlaut.  For example, this tells
\ex{} that \verb+"u+ is the same as \verb+\"u+.  When you turn on this
option \ex{} will also know about the German double quotes \verb+"'+
and \verb+"`+, the French double quotes \verb+"<+ and \verb+">+, the
hyphens \verb+"-+, \verb+""+, and \verb+"=+, and the \ss{} (es-zet)
\verb+\3+, \verb+"s+ and \verb+"z+.  This option is not available if
you do not have \LaTeX{} command parsing turned on.

The \textbf{Single quote marks end of word} option tells \ex{} that a
single quote will never be part of a word. This is probably not useful
for English speaking users since this causes \ex{} to no longer
recognize contractions. It may be useful in French though. If the word
``application'' is in the dictionary, then \ex{} won't flag
``l'application.'' Even if this option is checked, \ex{} will still
recognize the \verb+\'+ accent.

The \textbf{Regard 's as end of word} option tells \ex{} to stop
parsing a word when it reaches 's.  Thus, if the word ``Knuth'' is in
your dictionary, \ex{} won't flag ``Knuth's''.  This option is
probably most useful to English speaking users.  This option is not
available if \textbf{Single quote marks end of word} is checked.

\subsection{Start-Up Actions}
\label{sec:start-up-actions}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=start-up-options.gif>
<P>
\end{rawhtml}

The \textbf{Present an Open File Dialog} option tells \ex{} to present
a standard open file dialog when the program starts.

The \textbf{Open the Clipboard} option tells \ex{} to open the
clipboard when the program starts.  This will only happen if the
clipboard contains text.  This option also causes \ex{} to
automatically open the clipboard whenever you bring \ex{} into the
foreground.  If you keep \ex{} running so that you can periodically
spell check the contents of the clipboard, this will make this
operation faster.

The \textbf{Open Clipboard and Go} option is similar to the
\textbf{Open the Clipboard} option.  It tells \ex{} to open the
clipboard when the program starts or when you bring \ex{} into the
foreground.  It starts spell checking immediately without the need to
press the \textbf{Start} button.  When you close the window, \ex{}
saves the results back onto the clipboard.  To override this option,
hold down the shift key when you bring \ex{} into the foreground.  It
will still open the clipboard, but it won't automatically start spell
checking.  If you hold down the shift key when you close the window,
\ex{} will not automatically write the document back onto the
clipboard.  Instead, it will warn you if the document is dirty.

The \textbf{Do Nothing} option causes \ex{} to do neither of the above
actions when you start the program.

\subsection{\LaTeX{} Options}
\label{sec:latex-options}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=latex-options.gif>
<P>
\end{rawhtml}

If \textbf{Do \LaTeX{} Command Parsing} is checked, \ex{} assumes that
the file you are processing contains \TeX/\LaTeX{} commands.

\textbf{Ignore} \verb+\tt+ \textbf{Text} instructs \ex{} to not spell
check words that are in the typewriter font.

\textbf{Warn on Parsing Errors} causes \ex{} to warn you if it thinks
it found a \LaTeX{} syntax error.

\textbf{Use \TeX{} Style Accents} instructs \ex{} to use escape
sequences when making corrections that use accents.  For example, when
making a correction it will represent the word na\"{\i}ve as
\verb+na\"{\i}ve+.  If you type text into the \textbf{Change To:} box
using the extended character set, \ex{} will translate the text so
that it uses \TeX{} style accents when making the correction.  This is
useful if you don't remember the \TeX{} sequence for a particular
accent.

This option also affects how \ex{} copies text from the suggestion
list to the \textbf{Change To:} box.  Words always appear in the
suggestion box using the extended character set.  However, \ex{} will
copy them to the \textbf{Change To:} box with \TeX{} style accents so
you can see how they will appear in the document.

\textbf{Use Extended Character Set} instructs \ex{} to use Apple's
extended character set when making corrections that use accents.  For
example, it will use na\"{\i}ve instead of \verb+na\"{\i}ve+.  Even if
you type text in the \textbf{Change To:} box using escape sequences,
\ex{} will translate the text into the extended character set when
making the correction.  If no translation is available (for example,
the character \v{c} doesn't exist in Apple's character set) \ex{} will
insert the word unchanged.

\subsection{Saving Preferences}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=preferences.gif>
<P>
\end{rawhtml}

Save your current preferences by selecting
\textbf{Preferences\ldots} in the \textbf{Options} menu. You can ask
\ex{} to remember the dictionaries and definitions that you are
currently using. You can also ask it to remember your spell-checking,
dialog behavior, and word boundary options.

\section{Known Problems}
\label{sec:problems}

When you correct a word, \ex{} does not update the screen to reflect
the correction. However, the change \emph{does} take place.

\section{Large Documents and Dictionaries}
\label{sec:large-docs}

The size of a document or dictionary is limited only by the amount of
memory on your machine.  If you are using System 7 or higher, \ex{}
will use any free memory on your machine to load large documents or
dictionaries, or to perform dictionary conversions.  Quitting other
applications will make more memory available to \ex.  Under System~6
you may need to increase \ex{}'s memory partition.

Under System~6, here is what to do if \ex{} complains about not having
enough memory to open a document, load a dictionary, or to perform a
dictionary conversion. Quit \ex{} and highlight its icon on the
desktop. Select \textbf{Get Info} from the \textbf{File} menu. Make
the \textbf{current size} of \ex{} larger.

To set the optimal partition size under all versions of the system
software, use the following formula.  Compute the total size of all
your dictionaries and add 647K.  For example, if the dictionaries you
are using have a total size of 1,000K, set \ex's memory partition to
1,647K.

\section{Frequently Asked Questions}
\label{seq:faq}

\begin{enumerate}

\item If there is a \TeX{} and \LaTeX{} way of doing the same thing,
  which should I choose?

  If there is a \TeX{} and \LaTeX{} way of doing things, \ex{} usually
  handles the \LaTeX{} method better. For example, use
\begin{verbatim}
\input{file}
\end{verbatim}
  instead of
\begin{verbatim}
\input file
\end{verbatim}

  Use the \verb+\symbol{}+ command instead of \verb+\char+. For
  example, you should use
\begin{verbatim}
\symbol{'134}
\end{verbatim}
  instead of
\begin{verbatim}
\char'134
\end{verbatim}
  to produce a backslash.  (Actually, the preferred method for producing
  a backslash is to use \verb+\textbackslash+, or \verb+$\backslash$+.)

  Use the \verb+\setlength{}{}+ command change the length of
  something. For example, you should use
\begin{verbatim}
\setlength{\textwidth}{6.5in}
\end{verbatim}
  instead of
\begin{verbatim}
\textwidth=6.5in
\end{verbatim}

  Use \verb+\newcommand+ or \verb+\renewcommand+ instead of
  \verb+\def+ to define a command.

\item I've redefined a \LaTeX{} command to have a different number of
  arguments than usual and now \ex{} is confused.  What should I do?

  Be careful when using \verb+\renewcommand+. \ex{} doesn't look at
  the new definition of a command. If you define it to have a
  different number of arguments than the original command, \ex{} will
  get confused.  Tell \ex{} about the new form of the command by using
  the \htmlref{\textbf{Definitions} menu.}{sec:definitions}
  \begin{latexonly}
    See section~\ref{sec:definitions} on
    page~\pageref{sec:definitions}.
  \end{latexonly}

\item \ex{} seems to be skipping large portions of my file.  How do I
  fix this?

  \ex{} knows a fair amount about \TeX/\LaTeX{} syntax. If it looks
  like it's skipping large portions of a file, it's probably because
  of an unmatched brace or some other syntax error. It's best to run
  it on a syntactically correct file. It will warn you if it thinks it
  found a syntax error.

\item How do I get \ex{} to recognize accents in a tabbing
  environment?

  The commands \verb+\=+, \verb+\'+, and \verb+\`+ usually produce
  accents. However, they are redefined in a tabbing environment. To
  make sure that \ex{} interprets them properly in a tabbing
  environment, precede (unless at the beginning of a line) and follow
  them by a space. \ex{} knows about the special \verb+\a+ accent in
  the tabbing environment.

\item \ex{} is having trouble finding the end of an environment.  How
  do I fix this?

  For any environment that \ex{} ignores, there should be no spaces
  between the \verb+\end+ and the left curly brace. For example,
  \verb+\end {verbatim}+ will confuse \ex.

\item I'm using \verb+\equation+ \ldots \verb+\endequation+ and
  \ex{} is not ignoring the equations contained within.  What's wrong?

  If you use \verb+\equation+ \ldots \verb+\endequation+ to delimit
  the bounds of an equation, \ex{} won't ignore it. You should use
\begin{verbatim}
\begin{equation}
\end{equation}
\end{verbatim}
  instead.

\item Are there any limitations on \ex's parsing of \TeX{} documents?

  A word may not begin with a left curly brace, but it may contain
  embedded curly braces. For example, \ex{} will recognize the word
  ``na\"\i ve'' when it is written as \verb+na\"{\i}ve+,
  \verb+na\"\i{}ve+, or \verb+na\"\i ve+ but not \verb+{na\"\i}ve+,
  even though this last form is syntactically correct. Note that a
  space may be part of a word.

\item \ex{} is having trouble suggesting accented words.  Why?

  If you are using version 2.3 or later, \ex{} will do a much better
  job of suggesting words if your dictionary has words stored using
  Apple's extended character set.

\item I've defined my own shorthand verbatim environment and \ex{} doesn't
  like it.  How do I instruct \ex{} about my verbatim environment?

  A declaration such as \verb+\def|{\verb|}+ will allow you to write
  \verb+|\rule|+ as a shorthand for \verb+\verb|\rule|+.  However,
  this will completely confuse \ex.  It will start looking for the
  arguments to \verb+\rule+ and report a syntax error.  Use
  \verb+\MakeShortVerb{\|}+ instead and \ex{} will do the right thing.
  It knows about \verb+\DeleteShortVerb{\|}+ too.

  If you have an old \LaTeX{} 2.09 file that creates a shorthand
  verbatim environment in the manner just described, you can trick
  \ex{} into recognizing it by including the following lines in your
  file.
\begin{verbatim}
\iffalse
\MakeShortVerb{\|}
\fi
\end{verbatim}
  \ex{} doesn't process the \verb+\iffalse+ command and so it will
  process the \verb+\MakeShortVerb+ command.

\item I've checked the option that instructs \ex{} to ignore
  \verb+\tt+ text, but it doesn't ignore \verb+\texttt+ text.  How do
  I get it to ignore this too?

  \LaTeXe{} defines the command \verb+\texttt+ for specifying text in
  the typewriter font.  The option to ignore \verb+\tt+ text does not
  have any effect on this command.  If you want \ex{} to ignore the
  argument of \verb+\texttt+, use the \textbf{Edit Commands} dialog.

\item I want to nest math environments, but \ex{} gets confused by
  this.  Is there a way around this?

  If you nest math environments which are delimited by \$'s, \ex{}
  will get confused.  You should use \verb+\(+\ldots\verb+\)+ instead.
  For example, instead of
\begin{verbatim}
$\Lambda = n \in I \mbox{for all $n \ge 0$}$
\end{verbatim}
use
\begin{verbatim}
\(\Lambda = n \in I \mbox{for all \(n \ge 0\)}\)
\end{verbatim}

\item I'm using a package that redefines the \verb+\cite+ command to
  have more than one optional argument.  Now \ex{} refuses to spell
  check my document.  How do I tell \ex{} that \verb+\cite+ may have
  more than one optional argument?

  Use the \textbf{Edit Commands} dialog to tell \ex{} that the
  \verb+\cite+ command has one argument.  This may not seem different
  than the usual definition, but there's a subtle difference.  \ex{}
  will ignore \emph{all} optional arguments for commands defined using
  the \textbf{Edit Commands} dialog.  If you use this package
  frequently, save your preferences and \ex{} will remember this
  setting every time you use it.

\item How do I tell \ex{} not to spell check an e-mail or HTML
  address?

  If you are using \AmS\LaTeX{} use the \verb+\email+ command.  \ex{}
  does not spell check the argument to this command.

  You could could also use \verb+\texttt+ to specify the e-mail
  address in the typewriter font.  Then tell \ex{} to ignore the
  argument of \verb+\texttt+ by using the Edit Commands dialog.

  You can achieve the same effect by using the \verb+\verb+ command.
  Since \ex{} always ignores the argument of this command, there's
  nothing else to do.  This has the added advantage of causing
  \LaTeX{} to ignore \% and \verb+_+ (underscore) which occur in some
  e-mail addresses.

  You could define your own \verb+\email+ command and tell \ex{} to
  ignore its argument.

  Since HTML addresses tend to be long, it's probably best to put them
  in a verbatim environment.

\item I have set the options the way I want them, but \ex{} doesn't
  remember them the next time I launch it.  Why?

  You must select \textbf{Preferences} from the \textbf{Options} menu
  and save your preferences otherwise they remain in effect for just
  the current session.

\end{enumerate}

\section{Excalibur Genealogy}

\ex{} has its roots in a software engineering course at Bucknell
University in the spring semester of 1990. Rob Gottshall and Rick
Zaccone produced the current version using the original application as
a base.

\subsection{Version 2.5.2, August 8, 1998}

\begin{itemize}

\item Bugs fixed:

  \begin{itemize}

  \item Fixed \ex's handling of Word Services.  It works much better
    with most applications now.  In particular, you don't lose
    formatting with ClarisWorks and WordPerfect.

  \item \ex{} knows about \verb+\tabularnewline+, \verb+\r+ (ring
    accent), \verb+\SS+ (capital \verb+\ss+), \verb+\k+ (ogonek
    accent), \verb+\DH+ (eth), \verb+\DJ+ (dbar), \verb+\NG+ (eng),
    \verb+\TH+ (thorn) and their lower case equivalents.

  \item Zap null characters if they're present in a file.  This
    prevents parsing errors that sometimes occurred.

  \item Double clicking on a misspelled word should copy it into the
    \textbf{Change To:} box.  When the word was at the beginning of a
    line, this did not always work.  It does now.

  \item Fixed some internal workings that are not presently a problem,
    but might cause problems in future versions of the operating
    system.

  \item Fixed a bug that could have caused an occasional crash while
    saving commands.  (No crash was ever reported.)

  \item Updated the popup menu that appears in the Save dialog when
    performing dictionary to text conversions.

  \item Fixed a cosmetic problem related to window shading.

  \item Fixed a bug that prevented \ex{} from adding certain
    dictionary names to the Dictionary menu properly.

  \item Many other minor changes.

  \end{itemize}

\end{itemize}

\subsection{Version 2.5.1, November 26, 1997}

\begin{itemize}

\item Bugs fixed:

  \begin{itemize}

  \item \ex{} no longer displays a dialog when it receives an Apple
    Event it doesn't understand.

  \item \ex{} now handles DOS and Unix files correctly.

  \item Fixed a rare bug that sometimes caused saves to fail under
    System~6 while running over an AppleTalk network.

  \end{itemize}

\end{itemize}

\subsection{Version 2.5, July 3, 1997}

\begin{itemize}
\item New Features:

  \begin{itemize}

  \item \ex{} supports the Word Services batch check, check word and
    guess word events.  I have tested it with MT-NewsWatcher, Eudora
    Pro, Communicate 2.0 (due in late summer), Nisus Writer, and
    ClarisWorks.  \ex{} is a plain text spell checker, so it works
    best in Nisus Writer and ClarisWorks if you check a segment of
    text that uses a single font and size.

  \item The \ex{} manual and the \ex{} home page are now available
    through the help menu if you have Internet Config installed.

  \item If you have Internet Config installed, \ex{} will use it to
    determine the file type when you select \textbf{Save As}.

  \end{itemize}

\item Bugs Fixed:

  \begin{itemize}

  \item Fixed a bug that caused buttons to appear as check boxes under
    System~8.

  \item Fixed another bug related to converting very large
    dictionaries to text files on 68K machines.

  \end{itemize}

\end{itemize}


\subsection{Version 2.4, June 1, 1997}

\begin{itemize}
\item New Features:

  \begin{itemize}
  \item Improved suggestions.

  \item Use a AGA compliant popup menu in the edit commands dialog if
    possible.

  \item Changed the \textbf{Edit Commands} dialog so that there is
    more room for the command name.

  \item The ``Use german.sty conventions'' option is now called ``Use
    German babel conventions''.

  \item \ex{} knows how to translate \texttt{"s} and \texttt{"z} when
    German babel conventions are turned on.

  \item Added a check box to the open file dialog that enables you to
    view only \texttt{*.tex} and \texttt{*.ltx} files.  If you save
    preferences, \ex{} will remember the contents of this check box.

  \item \ex{} knows about the Catalan geminated-l digraph.  In
    \LaTeX{} it recognizes \verb+\l.l+ and \verb+\L.L+.  Using the
    Macintosh character set, type
    \html{\texttt{l.l}}\latex{\texttt{l}$\cdot$\texttt{l}} or
    \html{\texttt{L.L}}\latex{\texttt{L}$\cdot$\texttt{L}} where
    \latex{$\cdot$}\html{\texttt{.}} is a centered dot.

  \item Modal dialogs are now moveable.

  \item Better handling of eastern European and extended Roman
    scripts.
  \end{itemize}

\item Bugs Fixed:

  \begin{itemize}
  \item Fixed a crashing bug when converting a dictionary to text.  It
    only occurred when converting very large dictionaries.

  \item Fixed an minor update problem in the spell check window.

  \item Better error detection when opening files.  It knows about
    AppleShare deny modes and it checks for locked volume.

  \item Fixed a minor update problem in open and save file dialogs.

  \end{itemize}

\end{itemize}

\subsection{Version 2.3.1, November 17, 1996}

\begin{itemize}
\item New features:
  \begin{itemize}
  \item Added some conformance to Apple's Grayscale Appearance.

  \item If you ask \ex{} to remember which dictionaries are currently
    active, it checks to see if the file or an alias to it is in its
    folder.  If not, it will remind you that it won't be able to find
    the dictionary the next time you launch the program.
  \end{itemize}

\item Bugs fixed:

  \begin{itemize}
  \item Suggestions are much faster.

  \item Fixed a bug that caused \ex{} to squeeze blanks out of words
    in the \textbf{Change To:} box.

  \item Fix a problem with \ex{} not being able to recognize
    characters in the extended character set on systems that use a non
    Roman script.
  \end{itemize}
\end{itemize}

\subsection{Version 2.3, September 7, 1996}

\begin{itemize}
\item New features:
  \begin{itemize}
  \item \ex{} is much better at making suggestions.

  \item \ex{} gives you the option of making corrections using \TeX{}
    style accents or with Apple's extended character set.  See
    \htmlref{\textbf{\LaTeX{} Options}}{sec:latex-options}
    \begin{latexonly}
      on page~\pageref{sec:latex-options}
    \end{latexonly}
    for more information.

  \item When \ex{} adds a word to a dictionary, it will do so using
    Apple's extended character set if possible.  This helps to make
    the new suggestion algorithm work better.

    If you have been saving words with \TeX{} style accents, you
    should convert your dictionary.  Using \ex{} 2.3, convert your
    current dictionary to a plain text file.  Then, convert it back
    into a dictionary.  Don't forget to set your spell checking
    options before doing this second conversion.  You do not need to
    make any changes to the Standard Dictionary.

  \end{itemize}

\item Bug fixes:
  \begin{itemize}
  \item Improved error checking and error recovery when opening and
    saving files that are in use by other applications.
  \end{itemize}
\end{itemize}

\subsection{Version 2.2.2, April 18, 1996}

\begin{itemize}
\item New features:

  \begin{itemize}
  \item Added processing for
\begin{verbatim}
\DeclareMathOperator
\font
\textcircled
\end{verbatim}

  \item \ex{} now knows about the \AmS-\LaTeX{} variants of the
    following commands:
\begin{verbatim}
\newcommand
\newenvironment
\newtheorem
\parbox
\providecommand
\renewcommand
\renewenvironment
\end{verbatim}

  \item Buttons are now indented when you press them so they look like
    they're pressed.
  \end{itemize}

\item Bugs Fixed:

  \begin{itemize}

  \item Fixed a bug that caused \ex{} to skip two characters following
    a math environment delimited by \verb+\(+\ldots\verb+\)+.

  \item Fixed a hard to reproduce bug that caused \ex{} to crash
    on some machines that don't have color.

  \item Corrected the processing of \verb+\email+.

  \item Shift key didn't bring up Add Words dialog if there was only
    one modifiable dictionary.

  \end{itemize}

\end{itemize}

\subsection{Version 2.2.1, March 13, 1996}

\begin{itemize}

\item New features:

  \begin{itemize}

  \item \ex{} knows about the commands
\begin{verbatim}
\MakeShortVerb
\DeleteShortVerb
\end{verbatim}

  \item Added a start-up option that causes \ex{} to start spell
    checking whenever it opens the clipboard.  When this option is
    set, closing the window saves the results back to the clipboard.
    Holding down the shift key overrides the new behavior in both
    cases.

  \item Got rid of the \textbf{Save To Clipboard} menu item.  Now the
    text of the \textbf{Save} item changes to \textbf{Save Clipboard}
    when the document is a clipboard.

  \item Allow the nesting of \verb+\(+\ldots\verb+\)+ pairs.

  \item Better memory management.  You don't have to increase the
    application size to use a large dictionary.

  \end{itemize}

\item Bugs fixed:

  \begin{itemize}

  \item Fixed a bug that caused the \textbf{Add} button to not update
    when the user creates a new dictionary.

  \item Fixed the About Box animation.

  \item Fixed a bug that caused new commands not to get inserted into
    the list of commands properly.

  \item Improved reporting for \LaTeX{} syntax errors.  Most of the
    parsing code is new.

  \item Better recovery when a dictionary fails to load.

  \item Disable \textbf{Convert} menu if the dictionary list is full.

  \item Fixed two minor bugs that caused Excalibur to report a syntax
    error when there was no error.

  \end{itemize}

\end{itemize}

\subsection{Version 2.2, January 25, 1996}

\begin{itemize}

\item Got rid of some of \ex's alerts.  The program operation is much
  smoother.  \ex{} displays the current state of the program rather
  than announce it with alerts.

\item \ex{} no longer beeps when it can't find a suggestion.  Instead,
  it puts a message into the suggestion box.  It's much less annoying
  now, and it's fast enough on the power Mac that you may want to
  leave the \textbf{Auto Suggest} option checked.

\item \ex{} will now open aliases to dictionaries.  For example,
  suppose there's a dictionary on a server that you would like to use
  every time you launch \ex.  Put an alias to that dictionary in the
  \ex{} folder and it will open it when you launch the program.

\item If a document is already open, you can replace it with another
  as long as a spell check operation is not in progress.

\item \ex{} now has a Spanish dictionary.  See \htmlref{\textbf{Other
      Dictionaries}}{sec:dictionaries}
    \begin{latexonly}
      (section~\ref{sec:dictionaries} on
      page~\pageref{sec:dictionaries})
    \end{latexonly}
    for information on where to find it and other dictionaries.

\item \ex{} remembers the folder of the last file you opened.

\item \ex{} continues to look for dictionaries after finding an old
  style dictionary.

\item Fixed a dictionary conversion bug that caused \ex{} to think it
  was out of memory when it really wasn't.

\item Revised \ex's balloon help.

\item Dialogs draw faster on a PowerPC.

\item Numbers now have a thousands separator.

\item Fixed a problem with hitting the \textbf{Restart} button when
  the document is a clipboard snapshot.

\item Updated the \texttt{BBEdit} icon so that it is in step with the
  \texttt{BBEdit}~3.5 icon.

\item Fixed a bug that caused \ex{} to not properly remember your
  preferences for commands.

\item Fixed a menu update problem.

\item Made e-mail address in About Box easier to read.

\item There are many other minor changes.

\end{itemize}

\subsection{Version 2.1, March 28, 1995}

\begin{itemize}
\item \ex{} now has a new look!

\item There are better error message when \ex{} detects a syntax
  error.

\item There are better error messages when doing conversions.

\item When doing a dictionary to text conversion you can select the
  text file type from a pop-up menu.

\item Double clicking on a misspelled word copies it into the
  \textbf{Change To: box}.

\item If you have just one modifiable dictionary, \ex{} doesn't ask
  you which dictionary to add a word.

\item \ex{} requires System 6.0.5 or greater.

\item \ex{} now observes the \textbf{Ignore all CAPS} option when
  converting from text to dictionary.

\item Fixed a bug that caused \ex{} to sometimes suggest the same word
  more than once.

\item Added support for the \texttt{german.sty} sequences \verb+"|+
  (separate ligatures) and \verb+"~+ (unbreakable hyphen).

\item The About box animation works at the same rate regardless of the
  CPU speed.

\item There are various other adjustments and bug fixes.

\end{itemize}

\subsection{Version 2.0.1, January 12, 1995}

\begin{itemize}
\item A word is considered to be all caps if it doesn't contain any
  lower case letters.  Thus, ``FRED'S'' is now all caps as is ``68K''.
  Previously, all characters had to be upper case letters.

\item \ex{} sometimes thought that definitions were dirty when they
  were not.  This no longer happens.

\item Fixed some minor problems with dictionary names in the
  \textbf{Dictionary} menu.

\item Better handling of dictionaries and memory.  Unchecking a
  dictionary purges it from memory.

\item The Edit Commands and Edit Environments dialogs are now in
  color.

\item It's now legal to create a command with zero arguments.  This is
  useful if you want to override a built-in command to have zero
  arguments.

\item Fixed a problem that caused \ex{} to sometimes not find
  dictionaries at start-up.

\item Various other minor fixes.

\end{itemize}

\subsection{Version 2.0, July 6, 1994}

\begin{itemize}

\item \ex{} now runs in native mode on a PowerPC.

\item \ex{} uses a new dictionary format that greatly speeds up
  operations in languages other than English.

  You will need to convert any dictionaries you created with a
  previous version of \ex{} to this new format.  Here's the procedure
  for doing that.  (The dictionary we are distributing with \ex{} 2.0
  is a new version of the Standard Dictionary.)

  Use your current version of \ex{} (1.x) convert your dictionary to a
  text file.  Then use \ex{} 2.0 to convert that text file back into a
  dictionary.  Don't forget to pay attention to your option settings
  when creating a new dictionary.  For example, if you set the option
  to treat 's as the end of a word, no words with 's will appear in
  your dictionary.

  \ex{} 2.0 is smart enough to display an error message if you try to
  open an old style dictionary.  Old versions of \ex{} may crash if
  you try to open a new style dictionary.

\item \ex{} uses temporary memory to open large files and when doing
  text to dictionary and dictionary to text conversions.  This means
  that if there is enough memory on your machine, you won't have to
  increase \ex's partition size to open a large file or to do a
  conversion.

\item \ex{} has a vastly improved memory management scheme.  It should
  always recover gracefully from a low memory situation.

\item Text to dictionary conversions use much less memory.  Fixed a
  few bugs associated with conversions.

\item Hitting the Enter key selects the default item in the control
  dialog.

\item \ex{} knows about the \SLiTeX{} and \texttt{seminar.sty}
  versions of the slide environment.

\item \ex's interaction with Alpha is smoother.  If you select
  Spellcheck Window in Alpha and \ex{} already has a window open, it
  will close it and spell check the new document.  It does this more
  smoothly now.

\item \ex{} uses intelligent suggestions for the new file names when
  doing conversions.  You can customize the strings that \ex{} uses
  for extensions by changing resource \verb+STR#+ 306.

\item The behavior of the \textbf{Add Word}\ldots menu item has
  changed slightly.  Now it adds a word only if it doesn't appear in
  any other active dictionary.  If you would like to add a word to a
  dictionary even if it appears in another dictionary, hold down the
  option key when you click on the Add button.

\item Various smaller changes.

\end{itemize}

\subsection{Version 1.5.1, April 10, 1994}

\begin{itemize}

\item Fixed some clipboard problems that surfaced when running
  System~6.

\item Saving now works properly on EasyServer and CAP (Columbia
  AppleTalk Package) volumes.  It now works under A/UX~3.0 too.
  (Thanks to Stuart Castergine for helping me fix this.)

\item \ex{} knows about new \LaTeXe{} commands.

\item Put up an alert if the preferences file is out of date.

\item The updating of statistics while spell checking is now flicker
  free.

\item The buttons in the control dialog are handled a bit more
  intelligently. If the text in the \textbf{Change To:} box and the
  flagged word are the same, then the \textbf{Change} button is
  inactive.  If there is no text in the \textbf{Change To:} box, then
  the \textbf{Ignore} button is the default.

\item A `@' can now be part of a user defined command or environment
  name.

\item Fine tuned memory management somewhat.

\item Fixed a rare bug that would cause \ex{} to be unable to find
  dictionaries.

\end{itemize}

\subsection{Version 1.5, January 14, 1994}

\begin{itemize}

\item Added options that let the user choose how \ex{} should behave
  when you launch it.  You may choose to present an ``open file''
  dialog, open the clipboard if it has text, or do nothing.  When the
  clipboard option is checked, \ex{} will also open the clipboard when
  it receives a resume event (if it contains text).

\item Adjusted a few of the dialogs so that they all appear and behave
  consistently.  Hitting Return or Enter is the same as clicking the
  default button.  Command period is the same as cancel.

\item Made some changes so that \ex's interactions with Alpha are
  better.

\item Fixed the \textbf{Edit Commands} dialog so that it is a bit more
  intuitive.

\item Fixed the \textbf{Edit Environments} dialog so that you no
  longer enter the number of arguments.  \ex{} never used these values
  anyway.

\item You can now drag \ex's windows to another monitor.

\item Fixed a few minor bugs.

\end{itemize}

\subsection{Version 1.4.2, August 11, 1993}

Fixed a bug that caused all the buttons in the control dialog to be
inactive during the correction phase.  This happened on 68000 based
machines.

\subsection{Version 1.4.1, August 4, 1993}

\begin{itemize}

\item Repaired several minor bugs including better error handling
  under low memory conditions.

\item You can now convert larger text files into dictionaries.  If you
  create a really large dictionary you may not be able to read it with
  an older version of \ex{}.

\item \ex{} knows about the conventions in \texttt{german.sty}.  If
  you turn on the option to treat \texttt{"} as if it were \verb+\"+,
  \ex{} will also know about the hyphens and quotes defined in
  \texttt{german.sty}.

\end{itemize}

\subsection{Version 1.4, July 11, 1993}

\begin{itemize}

\item You may now spell check the contents of the clipboard.  You may
  save the results back to the clipboard too.

\item You may now teach \ex{} about new commands and environments that
  you have defined.

\item Fixed some update problems that occurred when balloon help was
  on.

\item Fixed a problem with the \textbf{Save As\ldots} command.

\item Fixed a problem that caused a flagged word to not appear on the
  screen.  This occurred very rarely.

\item \ex{} now handles the \verb+\cite+ command properly.

\item Fixed an obscure bug in the \textbf{Add Words\ldots} dialog.

\item Added an option that tells \ex{} to treat \texttt{"} as if it
  were \verb+\"+.  If you type \"u as \verb+"u+ instead of \verb+\"u+,
  \ex{} will be happy.  Many German speaking users requested this
  change.

\item There is an option that will cause \ex{} to always have a single
  quote mark the end of a word.  This is not good for English speaking
  users since \ex{} will not recognize contractions when this is on.
  However, many French speaking users requested this.

\item When the \textbf{Use selection from now on} box is checked in
  the \textbf{Add\ldots} dialog, the ellipses no longer appear in
  the \textbf{Add} button.  This gives you a visual indication that
  this box is checked.

\item If you have an older version of \ex{}, you will need to
  rebuild your desktop in order to see the new icon for definition
  files.
\end{itemize}

\subsection{Version 1.3.3, May 1, 1993}

\begin{itemize}

\item Version 1.3.3 has a better algorithm for suggesting words with
  accents.

\item Added processing for \verb+\epsfbox+ command.

\item Most text that appears in dialog boxes is now in string
  resources. This should make it easier to localize \ex.

\item Some \ex{} users have been kind enough to contribute additional
  dictionaries. There are British, Dutch, French, German, Italian and
  Spanish dictionaries.  We will gladly accept any other
  non-copyrighted dictionaries that users are willing to contribute.

\item We also eliminated the help facility in this version. The
  balloon help makes it unnecessary.

\end{itemize}

\subsection{Version 1.3.2, April 10, 1993}

\begin{itemize}
\item \ex{} now has balloon help.

\item You may now optionally ignore \texttt{'s} at the end of words.

\item There is an option to automatically suggest a correction to a
  misspelled word.

\item The error correction phase of \ex{} is now faster. Under certain
  rare circumstances, the error correction phase would slow down. This
  no longer happens.

\item In preparation for some future additions to \ex{}, we have
  rewritten much of the display code. A few things look different, but
  there are a lot of changes under the hood.

\item Fixed some problems with the Standard Dictionary.

\item Numerous minor fixes and adjustments.
\end{itemize}

\subsection{Version 1.3.1, February 7, 1993}

This version corrects a bug in the \LaTeX{} parsing, and it correct
several minor display problems.

\subsection{Version 1.3, January 10, 1993}

\begin{itemize}
\item \ex{} handles disk insert events. If you insert an uninitialized
  disk while \ex{} is running, it will ask you if you want to
  initialize it.

\item \ex{} now recognizes the \verb+\lefteqn+ command.

\item \ex{} positions alerts and dialogs according to the Human
  Interface Guidelines.

\item \ex{} saves both the resource and data forks of a file.
  Previously, it didn't save the resource fork under System~7.

\item \ex{} looks at the ``Do LaTeX Parsing'' option when doing text
  to dictionary conversions. If this option is checked, \ex{} will
  recognize \TeX{} accents and ligatures in words.

\item Text to Dictionary conversions are faster. They also require
  more memory.

\item \ex{} correctly updates the document window.

\item Drag and Drop should work better.

\item Numerous bug fixes.
\end{itemize}

\subsection{Version 1.2}

We produced version 1.2 in September 1992.  Here are the features and
bug fixes we added.

\begin{itemize}

\item Fixed problem with recognizing the \texttt{tabular*}
  environment.

\item \ex{} is now System~7 friendly. It handles the required Apple
  events. (It handles the Print event, although it doesn't do
  anything.) As a result, it handles drag and drop operations
  properly. You may drag just one file at a time.

\item \ex{} now uses a ``safe save'' technique for saving files if you
  are running System~7. That is, it saves the file into a temporary
  file. Once the save has successfully completed, \ex{} moves the file
  onto the original.  This may make a difference if you are saving
  onto a floppy disk.  Make sure there is enough room for two copies
  of the file.

\item \ex{} now requires System 6.0.4 or higher.

\item \ex{} recognizes the Apple extended character set.

\item Fixed a display bug in the ``About the Authors'' dialog.

\item \ex{} now recognizes \AmS-\LaTeX{} environments. In particular,
  it knows about the environments

  \latex{
    \begin{tt}
      \begin{tabular}{ll}
        align     & gather*    \\
        align*    & multline   \\
        alignat   & multline*  \\
        alignat*  & xalignat   \\
        comment   & xalignat*  \\
        equation* & xxalignat  \\
        gather    & xxalignat*
      \end{tabular}
    \end{tt}
  }
  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>align      </TT></TD> <TD><TT>gather*    </TT></TD></TR>
      <TR><TD><TT>align*     </TT></TD> <TD><TT>multline   </TT></TD></TR>
      <TR><TD><TT>alignat    </TT></TD> <TD><TT>multline*  </TT></TD></TR>
      <TR><TD><TT>alignat*   </TT></TD> <TD><TT>xalignat   </TT></TD></TR>
      <TR><TD><TT>comment    </TT></TD> <TD><TT>xalignat*  </TT></TD></TR>
      <TR><TD><TT>equation*  </TT></TD> <TD><TT>xxalignat  </TT></TD></TR>
      <TR><TD><TT>gather     </TT></TD> <TD><TT>xxalignat* </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

\item It knows the \AmS-\LaTeX{} commands

  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>accentedsymbol </TT></TD>
      <TD><TT>numberwithin          </TT></TD></TR>
      <TR><TD><TT>addtoversion   </TT></TD>
      <TD><TT>operatorname          </TT></TD></TR>
      <TR><TD><TT>email          </TT></TD>
      <TD><TT>operatornamewithlimits</TT></TD></TR>
      <TR><TD><TT>eqref          </TT></TD>
      <TD><TT>series                </TT></TD></TR>
      <TR><TD><TT>family         </TT></TD>
      <TD><TT>shape                 </TT></TD></TR>
      <TR><TD><TT>newmathalphabet</TT></TD>
      <TD><TT>theoremstyle          </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

  \begin{latexonly}
    \begin{tt}
      \begin{tabular}{ll}
        accentedsymbol  & numberwithin            \\
        addtoversion    & operatorname            \\
        email           & operatornamewithlimits  \\
        eqref           & series                  \\
        family          & shape                   \\
        newmathalphabet & theoremstyle
      \end{tabular}
    \end{tt}
  \end{latexonly}

\item If \ex{} gets an error while trying to save a file, it tries to
  print a meaningful error message. If it gets an error for which it
  doesn't have a message, it prints the error number.

\item Added Preferences File that saves spell-checking and dialog
  options as well as the names of active dictionaries.

\item Changed Help dialog button from OK to Done.

\item Added Text to Dictionary and Dictionary to text file
  conversions. Text files can be saved as MS Word, Alpha, or generic
  text files.  Alpha contains some nice support for \LaTeX.  It's well
  worth the shareware fee.
\end{itemize}

\subsection{Version 1.1}

Version 1.1 was produced in February 1992. We have rewritten
substantial portions of version 1.0.

Some new features include:

\begin{itemize}
\item User defined dictionaries now work.

\item Many improvements to the user interface.

\item \LaTeX/\TeX{} command recognizer completely rewritten.  \LaTeX{}
  command recognition is now excellent. Plain \TeX{} command
  recognition is good. The syntax of plain \TeX{} is difficult to
  parse. We are not sure how much the plain \TeX{} recognition will
  improve in the future, but please send us information about any
  problems you have.

\item \ex{} knows about accented characters and ligatures.

\item \ex{} will optionally ignore text in the \verb+\tt+ font.

\item \ex{} will now warn you if it thinks it found a \LaTeX{} syntax
  error in a file.

\item \ex{} is considerably faster than version 1.0.
\end{itemize}

\subsection{Version 1.0}

Version 1.0 was produced in May 1990.

\section{Plans for the Future}

We will fix any bugs that people find. Please use the information in
\htmlref{\textbf{Suggestions and Bug Reports}}{sec:bugs}
\begin{latexonly}
  (section~\ref{sec:bugs} on page~\pageref{sec:bugs})
\end{latexonly}
to send us bug reports.

We welcome suggestions on how to improve \ex.

\section{Suggestions and Bug Reports}
\label{sec:bugs}

We are very interested in maintaining and improving this program.  If
you have a \htmladdnormallink{bug
  report}{http://www.eg.bucknell.edu/\~{}excalibr/excalbug.html}
and your bug is not easy to reproduce, try to send us a small file
that readily reproduces the problem.  Be sure to mention which version
of \ex{} you are using.

Send comments, suggestions, and bug reports to:

\begin{flushleft}
Rick Zaccone \\
Computer Science Department \\
Bucknell University \\
Lewisburg, PA 17837 \\
U.S.A \\[4pt]

Phone: 717-524-1393 \\[4pt]

Electronic mail: \verb+zaccone@bucknell.edu+ \\
\end{flushleft}

\section{Other Dictionaries}
\label{sec:dictionaries}

You will always find the latest version of \ex{} on the
\htmladdnormallink{\ex{} home
  page.}{http://www.eg.bucknell.edu/\~{}excalibr/excalibur.html}
\begin{latexonly}
\begin{verbatim}
<http://www.eg.bucknell.edu/~excalibr/excalibur.html>
\end{verbatim}
\end{latexonly}
You will also find dictionaries for American English, British,
Catalan, Dutch, French, German, Italian, life sciences, Manx Gaelic,
medical terms, Norwegian and Spanish.

\section{Acknowledgments}

We produced \ex{} using \htmladdnormallink{Metrowerks
  CodeWarrior}{http://www.metrowerks.com/}.

We wish to acknowledge the efforts of Matt Biar for Version 1.0
\LaTeX{} parsing and significant contributions to the design of \ex.
We also thank Mohamad Daimon for great user interface ideas,
knick-knacks, and hours of tedious testing.

We also acknowledge the rest of the original \ex{} team: Nancy Dodge
(documentation), Dan Jamieson , John Meehan, James Mitchell, Frank
Lijoi, and Joe Lijoi.

We gratefully acknowledge \htmladdnormallink{Zig Zichterman}
{http://www.best.com:80/~ziggr/} for his great 3D controls.

\section{Excalibur Legend}

Excalibur is King Arthur's great sword. It sometimes gives off light
and occasionally is wielded by Gawain. Excalibur is given to Arthur,
and finally taken from him, by a hand in the lake.  Merlin, who brings
Arthur to the Lady of the Lake to receive Excalibur, informs the King
that the scabbard is worth far more than the sword itself, for the
former will protect its bearer from injury. Despite this fact, it is
the sword rather than its scabbard that has captured the imagination
of later writers and readers.

\section{Legal Fine Print}

\ex{} is free. However it is not public domain and we retain the
copyright. You may not charge to redistribute this program except for
normal download fees.  You may not distribute \ex{} with a commercial
package without written permission from the authors.

\htmladdnormallink{\textures{}}{http://www.bluesky.com/textures.html}
is a commercial version of \TeX{} for the Macintosh produced by
\htmladdnormallink{Blue Sky Research}{http://www.bluesky.com/}.

\htmladdnormallink{\oz{}}{http://www.kagi.com/authors/akt/oztex.html}
is a shareware version of \TeX{} for the Macintosh produced by
\htmladdnormallink{Andrew
  Trevorrow}{http://www.kagi.com/authors/akt/}.

\end{document}
